﻿using System;

namespace Borg
{
    [AttributeUsage(AttributeTargets.Class, AllowMultiple = false, Inherited = false)]
    public sealed class ExtensionAttribute : Attribute
    {
        public string Name { get; internal set; }
        public ActivationMode ActivationMode { get; set; }

        public string OnActivated { get; set; }
        public string OnDeactivated { get; set; }

        public ExtensionAttribute()
        {
            ActivationMode = ActivationMode.OnComposition;
        }

        public ExtensionAttribute(string name)
            : this()
        {
            Name = name;
        }
    }
}
